課程資訊
課程名稱
高等程式設計
Advanced Computer Programming 
開課學期
100-2 
授課對象
電機資訊學院  資訊網路與多媒體研究所  
授課教師
劉邦鋒 
課號
CSIE5214 
課程識別碼
922 U0260 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期四6,7,8(13:20~16:20) 
上課地點
 
備註
上課教室:資工系德田館R204
限學士班三年級以上
總人數上限:80人 
 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

1.Prerequisite
Computer programming, data structure, and algorithm design.

2.Outline
This course will focus on how to prepare a CS major student as a skilled computer programmer. There will be three major themes in this course -- computer algorithm designs, data structure, and computer program implementation techniques.

The computer algorithm design will focus on various methodologies, including divide-and-conquer, dynamic programming, combinatorial optimization, graph theory and its applications, randomized and amortized algorithm analysis. These methodologies will be illustrated by examples from ACM on-line problem archive, so that the student can learn to solve real-world problem.

This course will also focus on advanced data structures. Several self-adjusting data structures, including splay trees and pointer-jumping trees for union-and-find operation will be introduced. The introduction of these advanced data structures will facilitate the efficiency of computer programs, and provide useful tools for other related applications.

The computer implementation techniques will cover various disciplines in computer programming, including structure programming, programming style, debugging techniques, system tools utilization, and object-oriented programming. The goal of this training is that the students will be able to establish a solid foundation in expression what they want to implement, so that they could write code to realize the algorithms they learn from the first part of the course.

This course will be accompanied by weekly homework assignments, mainly from the ACM on-line problem archive, to give the students a hand-on experience on how to solve difficult problems with computers. Therefore, extensive understanding of C/C++ programming environment is required. The students will need to understand how to write program, so that they can combine the idea of algorithm design with solid implementation techniques to solve real problem correctly.
 

課程目標
This course will focus on how to prepare a CS major student as a skilled computer programmer. There will be three major themes in this course -- computer algorithm designs, data structure, and computer program implementation techniques.
 
課程要求
This course will be accompanied by weekly homework assignments, mainly from the ACM on-line problem archive, to give the students a hand-on experience on how to solve difficult problems with computers. Therefore, extensive understanding of C/C++ programming environment is required. The students will need to understand how to write program, so that they can combine the idea of algorithm design with solid implementation techniques to solve real problem correctly.  
預期每週課後學習時數
 
Office Hours
每週二 11:00~12:00 
指定閱讀
 
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題